<html>
	
	<head>
	<link rel="stylesheet" type="text/css" href="../doc.css" />
	<style type="text/css">
.auto-style1 {
	text-decoration: underline;
}
	.auto-style2 {
		border-style: solid;
		border-width: 1px;
	}
	.auto-style3 {
		border-style: solid;
		border-width: 1px;
	}
	</style>
	</head>

	<body>
		<h1 class="auto-style1">DED: Linker Package</h1>
		<table style="width: 100%" class="auto-style2">
			<tr>
				<td style="width: 109px" class="auto-style3"><strong>Module</strong></td>
				<td class="auto-style3"><strong>Elements</strong></td>
			</tr>
			<tr>
				<td style="width: 109px" class="auto-style3">Linker</td>
				<td class="auto-style3">
				<table style="width: 100%">
					<tr>
				<td style="width: 107px"><strong>Method</strong></td>
				<td style="width: 113px"><strong>Variable Name</strong></td>
				<td style="width: 143px"><strong>Data Type</strong></td>
				<td style="width: 107px"><strong>Access Level</strong></td>
				<td style="width: 65px"><strong>Range</strong></td>
				<td><strong>Purpose</strong></td>
					</tr>
					<tr>
				<td style="width: 107px">(General)</td>
				<td style="width: 113px">record</td>
				<td style="width: 148px">ObjectFileRecord</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Local loop variable used to loop through a list of records.</td>
					</tr>
					<tr>
				<td style="width: 107px">n/a</td>
				<td style="width: 113px">Records</td>
				<td style="width: 148px">List&lt;ObjectFileRecord&gt;</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 65px">n/a</td>
				<td>Contains all records from the input object files.</td>
					</tr>
					<tr>
				<td style="width: 107px">n/a</td>
				<td style="width: 113px">Output</td>
				<td style="width: 148px">LoaderFile</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 65px">n/a</td>
				<td>The loader file to be outputed.</td>
					</tr>
					<tr>
				<td style="width: 107px">n/a</td>
				<td style="width: 113px">Symbols</td>
				<td style="width: 148px">Map&lt;String, LinkerSymbol&gt;</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 65px">n/a</td>
				<td>The linker symbol table.</td>
					</tr>
					<tr>
				<td style="width: 107px">n/a</td>
				<td style="width: 113px">ProgramName</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 65px">n/a</td>
				<td>The name of this program. The same as the name of the first 
				module in the program.</td>
					</tr>
					<tr>
				<td style="width: 107px">n/a</td>
				<td style="width: 113px">LC</td>
				<td style="width: 148px">in</td>
				<td style="width: 107px">private class-level</td>
				<td style="width: 65px">n/a</td>
				<td>The line count used to place new programs into the output.</td>
					</tr>
					<tr>
				<td style="width: 107px">AddInput</td>
				<td style="width: 113px">file</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>File name of the input object file.</td>
					</tr>
					<tr>
				<td style="width: 107px">AddInput</td>
				<td style="width: 113px">int</td>
				<td style="width: 148px">BufferedReader</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Input reader of the object file.</td>
					</tr>
					<tr>
				<td style="width: 107px">ParseLine</td>
				<td style="width: 113px">line</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Line of the input object file to be parsed.</td>
					</tr>
					<tr>
				<td style="width: 107px">ParseLine</td>
				<td style="width: 113px">record</td>
				<td style="width: 148px">ObjectFileRecord</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Record of the passed line.</td>
					</tr>
					<tr>
				<td style="width: 107px">ParseLine</td>
				<td style="width: 113px">symbol</td>
				<td style="width: 148px">LinkerSymbol</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>The symbol to be added to the symbol table if the record 
				contains one.</td>
					</tr>
					<tr>
				<td style="width: 107px">ParseLine</td>
				<td style="width: 113px">header</td>
				<td style="width: 148px">LinkerSymbol</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>The header symbol associated with the linking record being 
				parsed.</td>
					</tr>
					<tr>
				<td style="width: 107px">ComputeOutput</td>
				<td style="width: 113px">header</td>
				<td style="width: 148px">ObjectFileRecord</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>The header record to be created for the load file.</td>
					</tr>
					<tr>
				<td style="width: 107px">ComputeOutput</td>
				<td style="width: 113px">end</td>
				<td style="width: 148px">ObjectFileRecord</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>The end record to be created for the load file.</td>
					</tr>
					<tr>
				<td style="width: 107px">ComputeRecord</td>
				<td style="width: 113px">record</td>
				<td style="width: 148px">ObjectFileRecord</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>The object record to be converted and added to the load 
				file.</td>
					</tr>
					<tr>
				<td style="width: 107px">ComputeRecord</td>
				<td style="width: 113px">address</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">0 to 1023</td>
				<td>The assembler assigned address of the object record.</td>
					</tr>
					<tr>
				<td style="width: 107px">ComputeRecord</td>
				<td style="width: 113px">diff</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>The offset of the address for the linker assigned location.</td>
					</tr>
					<tr>
				<td style="width: 107px">ComputeRecord</td>
				<td style="width: 113px">data</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">0 to FFFF</td>
				<td>The instruction/data word of the record.</td>
					</tr>
					<tr>
				<td style="width: 107px">ComputeRecord</td>
				<td style="width: 113px">MRecords</td>
				<td style="width: 148px">List&lt;ObjectFileRecord&gt;</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>A list of modify records associated with the address of the 
				object record.</td>
					</tr>
					<tr>
				<td style="width: 107px">ComputeRecord</td>
				<td style="width: 113px">newRecord</td>
				<td style="width: 148px">ObjectFileRecord</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>The new text record to be added to the loader file.</td>
					</tr>
					<tr>
				<td style="width: 107px">GetMRecords</td>
				<td style="width: 113px">hex</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">4 digit hext string</td>
				<td>The hex string to find matching modify records for.</td>
					</tr>
					<tr>
				<td style="width: 107px">GetMRecords</td>
				<td style="width: 113px">module</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>The name of the module to search for modify records in.</td>
					</tr>
					<tr>
				<td style="width: 107px">GetMRecords</td>
				<td style="width: 113px">result</td>
				<td style="width: 148px">List&lt;ObjectFileRecord&gt;</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>The resulting list of modify records associated with the 
				given hex string.</td>
					</tr>
					<tr>
				<td style="width: 107px">EvaluateModifyRecord</td>
				<td style="width: 113px">mrecord</td>
				<td style="width: 148px">ObjectFileRecord</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>The modify record to evaluate changes from.</td>
					</tr>
					<tr>
				<td style="width: 107px">EvaluateModifyRecord</td>
				<td style="width: 113px">diff</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>The difference between the assembler assigned address and 
				the linker assigned address for the given module.</td>
					</tr>
					<tr>
				<td style="width: 107px">EvaluateModifyRecord</td>
				<td style="width: 113px">result</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>The resultant change in hex needed calculated by the modify 
				record.</td>
					</tr>
					<tr>
				<td style="width: 107px">EvaluateModifyRecord</td>
				<td style="width: 113px">num</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">0 to 15</td>
				<td>The number of modifies needed in this record.</td>
					</tr>
					<tr>
				<td style="width: 107px">PrintDump</td>
				<td style="width: 113px">mem</td>
				<td style="width: 148px">String[]</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">size 1024</td>
				<td>The array of memory values.</td>
					</tr>
					<tr>
				<td style="width: 107px">PrintDump</td>
				<td style="width: 113px">dump</td>
				<td style="width: 148px">Dump</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>Class to display a dump of memory.</td>
					</tr>
					<tr>
				<td style="width: 107px">PrintSymbols</td>
				<td style="width: 113px">symbol</td>
				<td style="width: 148px">LinkerSymbol</td>
				<td style="width: 107px">local</td>
				<td style="width: 61px">n/a</td>
				<td>Loop variable to display all symbols.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">result</td>
				<td style="width: 148px">boolean</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Checks each record and returns true if all records in object 
				file are valid. Returns false even one is invalid</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">name</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores ProgramName or label field of record as a string of 
				charachers and numbers. To check is name is a valid label.</td>
					</tr>
					<tr>
				<td style="width: 107px; height: 23px">ValidateRecord</td>
				<td style="width: 113px; height: 23px">address</td>
				<td style="width: 148px; height: 23px">String</td>
				<td style="width: 107px; height: 23px">local</td>
				<td style="width: 65px; height: 23px">n/a</td>
				<td style="height: 23px">Stores address field of the record as a 
				string of charachers and numbers. To check if address is within 
				valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">length</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores program length field of H record and stores it as a 
				string. To check if length is within valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">startaddress</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores start address of program field of H record and stores 
				it as a string. To check if start address is within valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">version</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores version # field of H record and stores it as a 
				string. To check version number is within valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px; height: 23px">ValidateRecord</td>
				<td style="width: 113px">records</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores number of records field of H record and stores it as 
				a string. To check if number of records is within valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">linkingrecords</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores number of linking records field of H record and 
				stores it as a string. To check if number of linking records is 
				within valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">textrecords</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores number of text records field of H record and stores 
				it as a string. To check if number of text records is within 
				valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">modificationrecords</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores number of modification records field of H record and 
				stores it as a string. To check if number of modification 
				records is within valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">name2</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores last field (program name) of H record and stores it 
				as a string. To check if name2 is same as Program name.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">entry</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores entry name field of L record and stores it as a 
				string. To check if entry is a valid label.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">location</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Storesprogram assigned&nbsp; location field of record and 
				stores it as a string. Check if location is a 4 digit Hex value.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">instruction</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores Hex code of instruction field of T or M record and 
				stores it as a string. Check if instruction is a 4 digit Hex 
				value.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">StatusFlag</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores address status flag field of T record and stores it 
				as a string. Check if address status flag is either A, R or M</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">adjustments</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores number of M adjustments of T or M record and stores 
				it as a string. Check if adjustments is within valid range.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">adjust</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>integer value of string adjustments. Used in a while loop.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">i</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Used in the while loop. Loops until i &gt; adjust.</td>
					</tr>
					<tr>
				<td style="width: 107px">ValidateRecord</td>
				<td style="width: 113px">sign</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 65px">n/a</td>
				<td>Stores sign field of M record and stores it as a string. 
				Check if sign is valid.</td>
					</tr>
					<tr>
				<td style="width: 107px; height: 61px;">ValidateRecord</td>
				<td style="width: 113px; height: 61px;">label</td>
				<td style="width: 148px; height: 61px;">String</td>
				<td style="width: 107px; height: 61px;">local</td>
				<td style="width: 65px; height: 61px;">n/a</td>
				<td style="height: 61px">Stores label field of M record and 
				stores it as a string. check if label is valid</td>
					</tr>
					</table>
				</td>
			</tr>
			<tr>
				<td style="width: 109px" class="auto-style3">LinkerMain</td>
				<td class="auto-style3">
				<table style="width: 100%">
					<tr>
				<td style="width: 100px"><strong>Method</strong></td>
				<td style="width: 113px"><strong>Variable Name</strong></td>
				<td style="width: 150px"><strong>Data Type</strong></td>
				<td style="width: 107px"><strong>Access Level</strong></td>
				<td style="width: 107px"><strong>Range</strong></td>
				<td><strong>Purpose</strong></td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">VERSION</td>
				<td style="width: 148px">static final int</td>
				<td style="width: 107px">public</td>
				<td style="width: 107px">Current Version</td>
				<td>The current version number of the Linker.</td>
					</tr>
					<tr>
				<td style="width: 77px">main</td>
				<td style="width: 113px">args</td>
				<td style="width: 148px">String[]</td>
				<td style="width: 107px">local</td>
				<td style="width: 107px">n/a</td>
				<td>The passed arguments to the Linker. Should contain the input 
				files and the output file name if desired.</td>
					</tr>
					<tr>
				<td style="width: 77px">main</td>
				<td style="width: 113px">linker</td>
				<td style="width: 148px">Linker</td>
				<td style="width: 107px">local</td>
				<td style="width: 107px">n/a</td>
				<td>The linker object to build the load file.</td>
					</tr>
					<tr>
				<td style="width: 77px">main</td>
				<td style="width: 113px">outputFile</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 107px">n/a</td>
				<td>The name of the file to output the load file to.</td>
					</tr>
					</table>
				</td>
			</tr>
			<tr>
				<td style="width: 109px" class="auto-style3">LinkerSymbol</td>
				<td class="auto-style3">
				<table style="width: 100%">
					<tr>
				<td style="width: 100px"><strong>Method</strong></td>
				<td style="width: 113px"><strong>Variable Name</strong></td>
				<td style="width: 150px"><strong>Data Type</strong></td>
				<td style="width: 107px"><strong>Access Level</strong></td>
				<td style="width: 107px"><strong>Range</strong></td>
				<td><strong>Purpose</strong></td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">Label</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 107px">n/a</td>
				<td>The label of the symbol.</td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">Assembler_LC</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 107px">0 to 1023</td>
				<td>The assembler assigned load address of the symbol.</td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">Usage</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 107px">n/a</td>
				<td>The usage of the symbol.</td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">Linker_LC</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 107px">0 to 1023</td>
				<td>The linker assigned load address of the symbol.</td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">Length</td>
				<td style="width: 148px">int</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 107px">0 to 1023</td>
				<td>The length of the symbol.</td>
					</tr>
					<tr>
				<td style="width: 77px">(Constructor)</td>
				<td style="width: 113px">label</td>
				<td style="width: 148px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 107px">n/a</td>
				<td>The label of the symbol.</td>
					</tr>
					</table>
				</td>
			</tr>
			<tr>
				<td style="width: 109px" class="auto-style3">LoaderFile</td>
				<td class="auto-style3">
				<table style="width: 100%">
					<tr>
				<td style="width: 100px"><strong>Method</strong></td>
				<td style="width: 113px"><strong>Variable Name</strong></td>
				<td style="width: 150px"><strong>Data Type</strong></td>
				<td style="width: 107px"><strong>Access Level</strong></td>
				<td style="width: 107px"><strong>Range</strong></td>
				<td><strong>Purpose</strong></td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">Records</td>
				<td style="width: 111px">List&lt;ObjectFileRecord&gt;</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 107px">n/a</td>
				<td>List containing records for the load file</td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">NumTRecords</td>
				<td style="width: 111px">int</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 107px">n/a</td>
				<td>Counts how many text records are in the object file</td>
					</tr>
					<tr>
				<td style="width: 77px">n/a</td>
				<td style="width: 113px">NumRecords</td>
				<td style="width: 111px">int</td>
				<td style="width: 107px">public class-level</td>
				<td style="width: 107px">n/a</td>
				<td>Counts the total number of records in the object file</td>
					</tr>
					<tr>
				<td style="width: 77px">AddRecord</td>
				<td style="width: 113px">type</td>
				<td style="width: 111px">String</td>
				<td style="width: 107px">local</td>
				<td style="width: 107px">n/a</td>
				<td>Describes whether the record is of type Header, End, or Text.</td>
					</tr>
					<tr>
				<td style="width: 77px">AddRecord</td>
				<td style="width: 113px">record</td>
				<td style="width: 111px">ObjectFileRecord</td>
				<td style="width: 107px">local</td>
				<td style="width: 107px">n/a</td>
				<td>Record to be added to load file.</td>
					</tr>
					<tr>
				<td style="width: 77px">PrintToFile</td>
				<td style="width: 113px">out</td>
				<td style="width: 111px">PrintStream</td>
				<td style="width: 107px">local</td>
				<td style="width: 107px">n/a</td>
				<td>Output file stream.</td>
					</tr>
					</table>
				</td>
			</tr>
						</tr>
		</table>
&nbsp;
	</body>
</html>